package com.xuetang9.dao;

import com.xuetang9.domain.Pole;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

@Repository
public interface PoleMapper extends Mapper<Pole> {

    /**
     * 增加杆塔信息
     * @param pole 增加的杆塔信息
     * @return 增加成功返回1，失败返回0
     */
    int insertPole(Pole pole);

    /**
     * 根据杆塔编号删除杆塔
     * @param poleId  需要删除杆塔的编号
     * @return 删除成功返回1，失败返回0
     */
    int deletePole(String poleId);

    /**
     * 修改杆塔信息
     * @param pole 修改的杆塔信息
     * @return 修改成功返回1，失败返回0
     */
    int updatePole(Pole pole);

    /**
     * 根据杆塔编号进行查找
     * @param poleId 需要查找的杆塔编号
     * @return 成功返回满足条件杆塔信息，失败返回null
     */
    Pole selectPoleByPoleId(String poleId);

    /**
     * 根据杆塔线路进行查找
     * @param poleAddress 需要查找的杆塔线路
     * @return 成功返回所有满足条件杆塔信息，失败返回null
     */
    List<Pole> selectPoleByAddress(String poleAddress);

    /**
     * 根据杆塔状态进行查找
     * @param poleStatus 需要查找的杆塔状态
     * @return 成功返回所有满足条件杆塔信息，失败返回null
     */
    List<Pole> selectPoleByStatus(String poleStatus);

    /**
     * 根据杆塔信息查找杆塔信息
     * @param pole 需要查找的杆塔信息
     * @return 成功返回满足条件杆塔信息，失败返回null
     */
    Pole selectByPole(Pole pole);

    /**
     * 查找全部
     * @return 成功返回所有杆塔信息，失败返回null
     */
    List<Pole> listPole();

}